/*
 * Copyright 2006-2008 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package net.martinimix.domain.order;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * Provides a shopping cart item.
 * 
 * @author Scott Rossillo
 *
 */
public class CartItem implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	private int quantity;
	
	
	/**
	 * @@BusinessObjectProperty("extendedPriceAmt") 
	 */
	private BigDecimal extendedPrice;

	/**
	 * @@BusinessObjectProperty("listPriceAmt") 
	 */
	private BigDecimal listPrice;

	/**
	 * @@BusinessObjectProperty("salePriceAmt") 
	 */
	private BigDecimal salePrice;

	/**
	 * @@BusinessObjectProperty("unitPriceAmt") 
	 */
	private BigDecimal unitPrice;
	
	private String productCode;
	
	private String productName;
	
	private String promoMessage;
	
	private String warningMessage;
	
	/**
	 * @@BusinessObjectProperty("headerAppliedDiscount") 
	 */
	private BigDecimal discount;
	
	/**
	 * @@BusinessObjectProperty("finalLinePriceAmt") 
	 */	
	private BigDecimal finalLinePrice;
	
	private boolean promoDiscountFlag;
	
	private boolean freeGift;
	
	/**
	 * @@BusinessObjectProperty("shortDesc") 
	 */
	private String productDescription;
	
	/**
	 * @@BusinessObjectProperty("prd_id") 
	 */
	private long productId;

	/**
	 * @@BusinessObjectProperty("sku_id") 
	 */
	private long skuId;

	/**
	 * @@BusinessObjectProperty("prm_id") 
	 */
	private long promotionId;
	
	public int getQuantity() {
		return quantity;
	}
	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}
	public BigDecimal getExtendedPrice() {
		return extendedPrice;
	}
	public void setExtendedPrice(BigDecimal extendedPrice) {
		this.extendedPrice = extendedPrice;
	}
	public BigDecimal getListPrice() {
		return listPrice;
	}
	public void setListPrice(BigDecimal listPrice) {
		this.listPrice = listPrice;
	}
	public BigDecimal getSalePrice() {
		return salePrice;
	}
	public void setSalePrice(BigDecimal salePrice) {
		this.salePrice = salePrice;
	}
	public BigDecimal getUnitPrice() {
		return unitPrice;
	}
	public void setUnitPrice(BigDecimal unitPrice) {
		this.unitPrice = unitPrice;
	}
	public String getProductCode() {
		return productCode;
	}
	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}
	public String getProductDescription() {
		return productDescription;
	}
	public void setProductDescription(String productDescription) {
		this.productDescription = productDescription;
	}
	public String getProductName() {
		return productName;
	}
	public void setProductName(String productName) {
		this.productName = productName;
	}
	public long getProductId() {
		return productId;
	}
	public void setProductId(long productId) {
		this.productId = productId;
	}
	public long getSkuId() {
		return skuId;
	}
	public void setSkuId(long skuId) {
		this.skuId = skuId;
	}
	public String getPromoMessage() {
		return promoMessage;
	}
	public void setPromoMessage(String promoMessage) {
		this.promoMessage = promoMessage;
	}
	public BigDecimal getDiscount() {
		return discount;
	}
	public void setDiscount(BigDecimal discount) {
		this.discount = discount;
	}
	public BigDecimal getFinalLinePrice() {
		return finalLinePrice;
	}
	public void setFinalLinePrice(BigDecimal finalLinePrice) {
		this.finalLinePrice = finalLinePrice;
	}
	public boolean isFreeGift() {
		return freeGift;
	}
	public void setFreeGift(boolean freeGift) {
		this.freeGift = freeGift;
	}
	public boolean isPromoDiscountFlag() {
		return promoDiscountFlag;
	}
	public void setPromoDiscountFlag(boolean showPromoPriceNote) {
		this.promoDiscountFlag = showPromoPriceNote;
	}
	public long getPromotionId() {
		return promotionId;
	}
	public void setPromotionId(long promotionId) {
		this.promotionId = promotionId;
	}
	
	public String getWarningMessage() {
		return warningMessage;
	}
	
	public void setWarningMessage(String warningMessage) {
		this.warningMessage = warningMessage;
	}
}
